热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

幻象_<技术向;修正昨天的爬取教程,并介绍一个插件

篇首语:本文由编程笔记#小编为大家整理,主要介绍了<技术向;修正昨天的爬取教程,并介绍一个插件相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了<技术向;修正昨天的爬取教程,并介绍一个插件相关的知识,希望对你有一定的参考价值。



昨天的代码有一部分需要修正一下,完整代码应该是这样:


from bs4 import BeautifulSoup
import re
import requests
url = "http://stuu.scnu.edu.cn/articles?paged="
def get_page(url):
   wb_data = requests.get(url)
   soup = BeautifulSoup(wb_data.text,lxml)
   titles = soup.select("div.bloglist-container.clr > article > div.home-blog-entry-text.clr")
   texts = soup.select("div.bloglist-container.clr > article > div.home-blog-entry-text.clr > p")
   imgs = soup.select("div.bloglist-container.clr > article > a > div > img")

   for title,text,img in zip(titles,texts,imgs):
      data =
         "标题":title.get_text(),
         
"摘要":text.get_text(),
         
"图片":img.get(data-original)
     

      print(data)

def getmorepage(start,end):
   for i in range (start,end):
       get_page(url+str(i))

getmorepage(1,10)


主要是将这条代码:

 "图片":img.get(src)

修改成:

 "图片":img.get(data-original)


如果我们仔细观察网页的代码,我们会看到其实它真实的链接在data-original里。如图(点击可以放大):



<技术向修正昨天的爬取教程,并介绍一个插件_加载 />



这样改后就能成功得到我们想要的信息啦:


<技术向修正昨天的爬取教程,并介绍一个插件_jquery_02 />


那之前那个结果是怎么回事呢?

这是因为这个网站的图片显示是一种Lazyload的方法,这是一个用来缓冲加载图片的方法,能够避免用户一次性加载太多图片耗费太多流量。这就是为什么昨天我们直接爬取src得到的是一张空图片。


Lazyload在WORDPRESS里是一个插件,实际上是用js写的一个脚本。如果是我们自己搭设的网站想要使用的话可以直接上网下载它的js文件,当然还要jquery库。


下面讲如何在自己搭建的网站上使用这个插件。

先把这个js文件和jquery.js放置到网站根目录的js文件夹下。


首先第一步,加载它们:




<script src="jquery.js" type="text/Javascript">script>
<
script src="jquery.lazyload.js" type="text/Javascript">script>


第二步,定义图片结构:


<img src="img/grey.gif" data-original="img/example.jpg" width="750" heigh="500">


第三步,触发并生效:


$("img.lazy").lazyload();


这样就能实现lazyload的基本功能,当然使用中你还会发现不少问题。

这些问题就需要网站开发者自行去解决了。




欢迎关注微信号:幻象客


<技术向修正昨天的爬取教程,并介绍一个插件_jquery_03 />


推荐阅读
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 本文详细探讨了能力模型(Competency Model)的概念及其在人力资源管理中的应用,涵盖职位体系设计、薪酬激励策略及绩效管理等方面。通过深入分析冰山模型的核心构成,以及不同类型人才的关键素质,旨在为企业提供科学的人才管理和发展的指导。 ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • 如何在PPT中创建交互式跳转按钮
    许多企业在日常工作中都会用到PPT,但你知道如何在PPT中制作一个可以实现页面跳转的按钮吗?本文将详细介绍在PPT中创建跳转按钮的方法和步骤。 ... [详细]
  • 本文对元代诗人萨都剌的《酹江月·姑苏台怀古》进行了详尽的翻译和赏析,深入探讨了诗中蕴含的历史情感与文化内涵。 ... [详细]
  • 一文详解Linux
    Linuxnetfilter与VRF实验环境如下图所示:配置如下:#!binbashsudoipnetnsaddns1sudoiplinkaddns1veth1typevethpe ... [详细]
  • 网络分析仪中的噪声参数解析
    本文探讨了网络分析仪中噪声参数的作用及其对测量精度的影响。通过深入分析噪声参数如何随源阻抗变化,解释了其在不同测量条件下的表现。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 最适合初学者的编程语言
    本文探讨了适合编程新手的最佳语言选择,包括Python、JavaScript等易于上手且功能强大的语言,以及如何通过有效的学习方法提高编程技能。 ... [详细]
  • 3DSMAX制作超现实的体育馆模型
    这篇教程是向脚本之家的朋友介绍3DSMAX制作超现实的体育馆模型方法,教程制作出来的体育馆模型非常地不错,不过教程有点难度,需要有一定基础的朋友学习,推荐到脚本之家,喜欢的朋友可 ... [详细]
  • 本文介绍了如何在AngularJS应用中使用ng-repeat指令创建可单独点击选中的列表项,并详细描述了实现这一功能的具体步骤和代码示例。 ... [详细]
  • 如何辨别华为手机的不同屏幕分辨率?
    了解华为手机屏幕分辨率的区别及其识别方法对于提升用户体验至关重要。本文将详细介绍如何通过手机设置中的显示选项来查看和区分不同型号华为手机的屏幕分辨率。 ... [详细]
  • 本文详细介绍了使用MAX7219芯片驱动单个8x8 LED点阵的仿真过程。MAX7219作为一款高效的LED显示驱动器,广泛应用于各种工业控制面板、商业广告牌及DIY项目中,能够显著提升显示效果。 ... [详细]
  • Unity美洲技术总监Carl Callewaert探讨游戏引擎与动作捕捉技术
    Carl Callewaert,现任Unity美洲区技术总监,以其幽默和专业著称,拥有超过十年的游戏开发及教育经验。在UNITE 2016 Shanghai会议中,他不仅展示了Unity引擎的先进特性和最新研究进展,还以其独特的即兴说唱技能给观众留下了深刻印象。 ... [详细]
  • 在项目冲刺的最后一天,团队专注于软件用户界面的细节优化,包括调整控件布局和字体设置,以确保界面的简洁性和用户友好性。 ... [详细]
author-avatar
摩羯参议院1314
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有